/*************************************************************************
> File Name: MyVector.h
> Author: icebear
> Mail: 3322366195@qq.com
> Created Time: 2024-08-17 00:20:14
> Description:
************************************************************************/

#ifndef _MYVECTOR_H_
#define _MYVECTOR_H_

#include "MyAllocator.h"
#include "GlobalValue.h"

namespace ib
{

    template <typename T, typename Alloc>
    class MyVectorBase
    {
        // template <typename T>
        class MyVectorImpl
        {
        public:
            T *begin_p_0x0;          // 起始位置
            T *end_p_0x8;            // 最后元素的下一个位置
            T *end_of_storge_p_0x18; // 分配空间的末尾
        };

    public:
        MyVectorImpl vector_0x0; // 数据结构
    };

    /**
     * @brief
     * size 0x18
     * @tparam T
     */
    template <typename T, typename Alloc = ib::MyAllocator<T>>
    class MyVector : protected MyVectorBase<T, Alloc>
    {
    };

} // namespace ib

#endif
